<template>
  <div class="my-product">
    <h3>标题: {{ title }}</h3>
    <p>价格: {{ price }} 元</p>
    <p>{{ info }}</p>
    <button @click="btn">是兄弟，砍一刀</button>
  </div>
</template>

<script>
export default {
  // 🔔 props 声明变量, 由父组件传值过来
  props: ['title', 'price', 'info', 'index'],
  methods: {
    btn(){
      // 💥 浏览器报错：避免直接改变属性，因为每当父组件重新渲染时，该值将被覆盖。
      // this.price -= 1;
      // 🔔 子组件通过调用自定义事件，触发对应的事件处理函数
      this.$emit('kanPrice', this.index, 1)
    }
  }
}
</script>

<style>
.my-product {
  width: 400px;
  padding: 20px;
  border: 2px solid #000;
  border-radius: 5px;
  margin: 10px;
}
</style>